﻿function validarSoloNumerico(e) {
    tecla = (document.all) ? e.keyCode : e.which; 
    if (tecla == 8) return true; 
    patron = /\d/; 
    te = String.fromCharCode(tecla); 
    return patron.test(te); 
}
function validarSoloNumericoDecimales(e) {
    tecla = (document.all) ? e.keyCode : e.which; 
    if (tecla == 8) return true; 
    
    patron = /[0-9.]/;
    te = String.fromCharCode(tecla); 
    return patron.test(te); 
}
function validarSoloLetras(e) {
    tecla = (document.all) ? e.keyCode : e.which;    
    if (tecla == 8) return true;
    if (tecla == 32) return true;
    if (tecla == 241) return true;
    patron = /[A-Za-z]/;
    te = String.fromCharCode(tecla);
    return patron.test(te);
}
function ValidarAlfanumerico(e) {
    tecla = (document.all) ? e.keyCode : e.which;    
    if (tecla == 8) return true;
    if (tecla == 32) return true;
    if (tecla == 45) return true;
    patron = /\w/; 
    te = String.fromCharCode(tecla);
    return patron.test(te);
}
function validarSoloFecha(e) {
    tecla = (document.all) ? e.keyCode : e.which; 
    if (tecla == 8) return true; 
    if (tecla == 47) return true; 
    patron = /\d/; 
    te = String.fromCharCode(tecla); 
    return patron.test(te); 
}

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, "");
}
String.prototype.ltrim = function() {
    return this.replace(/^\s+/, "");
}
String.prototype.rtrim = function() {
    return this.replace(/\s+$/, "");
}

function trim(text) {
    return text.replace(/^\s+|\s+$/g, "");
}
function ltrim(text) {
    return text.replace(/^\s+/, "");
}
function rtrim(text) {
    return text.replace(/\s+$/, "");
}

function mostrarMensaje() {
    if (document.getElementById('txtMensajes').value != '') {
        alert(document.getElementById('txtMensajes').value);
        document.getElementById('txtMensajes').value = '';
    }
}

function cargarUbigeo() {
    document.forms[0].submit();
}
function cargarDato() {
    document.forms[0].submit();
}

function Resaltar_On(GridView) {
    if (GridView != null) {
        GridView.originalBgColor = GridView.style.backgroundColor;
        GridView.style.backgroundColor = '#86EEF7';
    }
}
function Resaltar_Off(GridView) {
    if (GridView != null) {
        GridView.style.backgroundColor = GridView.originalBgColor;
    }
}
function confirmacion() {
    if (confirm('¿Esta seguo de eliminar.?')) {
        
        alert('Presiono OK.');
        document.forms[0].txtAccion.value = "E";
    }
}
function regresar(valor) {
    
    
    top.window.location.replace(valor);
}

function esDigito(sChr) {
    var sCod = sChr.charCodeAt(0);
    return ((sCod > 47) && (sCod < 58));
}
function valSep(oTxt) {
    var bOk = false;
    bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-"));
    bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/"));
    return bOk;
}
function finMes(oTxt) {
    var nMes = parseInt(oTxt.value.substr(3, 2), 10);
    var nRes = 0;
    switch (nMes) {
        case 1: nRes = 31; break;
        case 2: nRes = 29; break;
        case 3: nRes = 31; break;
        case 4: nRes = 30; break;
        case 5: nRes = 31; break;
        case 6: nRes = 30; break;
        case 7: nRes = 31; break;
        case 8: nRes = 31; break;
        case 9: nRes = 30; break;
        case 10: nRes = 31; break;
        case 11: nRes = 30; break;
        case 12: nRes = 31; break;
    }
    return nRes;
}
function valDia(oTxt) {
    var bOk = false;
    var nDia = parseInt(oTxt.value.substr(0, 2), 10);
    bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
    return bOk;
}
function valMes(oTxt) {
    var bOk = false;
    var nMes = parseInt(oTxt.value.substr(3, 2), 10);
    bOk = bOk || ((nMes >= 1) && (nMes <= 12));
    return bOk;
}
function valAno(oTxt) {
    var bOk = true;
    var nAno = oTxt.value.substr(6);
    bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
    if (bOk) {
        for (var i = 0; i < nAno.length; i++) {
            bOk = bOk && esDigito(nAno.charAt(i));
        }
    }
    return bOk;
}
function valFecha(oTxt) {
    var bOk = true;
    if (oTxt.value != "") {
        bOk = bOk && (valAno(oTxt));
        bOk = bOk && (valMes(oTxt));
        bOk = bOk && (valDia(oTxt));
        bOk = bOk && (valSep(oTxt));
        if (!bOk) {
            alert("Fecha inválida");
            oTxt.value = "";
            oTxt.focus();
        }
    }
}
function ValidarCampos() {
    if (document.frmRegTBP.txtRazSoc.value == '') {
        alert('Debe ingresar el nombre del Distribuidor');
        document.frmRegTBP.txtRazSoc.focus();
        return false;
    }
    if (document.frmRegTBP.txtDireccion.value == '') {
        alert('Debe ingresar la Direccion');
        document.frmRegTBP.txtDireccion.focus();
        return false;
    }
    if (document.frmRegTBP.cboDepartamento.value == '0') {
        alert('Debe seleccionar un Departamento');
        document.frmRegTBP.cboDepartamento.focus();
        return false;
    }
    if (document.frmRegTBP.cboProvincia.value == '0') {
        alert('Debe seleccionar una Provincia');
        document.frmRegTBP.cboProvincia.focus();
        return false;
    }
    if (document.frmRegTBP.cboDistrito.value == '0') {
        alert('Debe seleccionar un Distrito');
        document.frmRegTBP.cboDistrito.focus();
        return false;
    }
    if (document.frmRegTBP.txtTelefonos.value == '') {
        alert('Debe ingresar el Telefono');
        document.frmRegTBP.txtTelefonos.focus();
        return false;
    }

    if (document.frmRegTBP.txtNumEmp.value == '') {
        alert('Debe seleccionar el Numero m\xe1ximo de Empresas');
        document.frmRegTBP.txtNumEmp.focus();
        return false;
    }
    if (document.frmRegTBP.txtNumUsu.value == '') {
        alert('Debe seleccionar el Numero m\xe1ximo de Usuarios');
        document.frmRegTBP.txtNumUsu.focus();
        return false;
    }
    if (document.frmRegTBP.txtNumEmp.value == '0') {
        alert('El Numero m\xe1ximo de Empresas no puede ser cero');
        document.frmRegTBP.txtNumEmp.focus();
        return false;
    }
    if (document.frmRegTBP.txtNumUsu.value == '0') {
        alert('El Numero m\xe1ximo de Usuarios no puede ser cero');
        document.frmRegTBP.txtNumUsu.focus();
        return false;
    }
    


    return true;
}
function VerificarTelefono(e) {
    if (!e) e = window.event;
    if (e.type == "keypress") {
        tecla = (document.all) ? e.keyCode : e.which;
        if (tecla == 8) return true; 
        patron = /[0-9-]/; 
        te = String.fromCharCode(tecla);
        return patron.test(te);
    }
    else
        return false;
}
function validarEmail(e) {
    ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
    for (i = 0; i < e.length; i++) {
        if (ok.indexOf(e.charAt(i)) < 0) {
            return (false);
        }
    }
    re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
    re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (!e.match(re) && e.match(re_two)) {
        return (-1);
    }
}
function isEmail(theElement){
	var s = theElement.value;
	var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	if (s.length == 0 ) return true;
	if (filter.test(s))
		return true;
	else		
		return false;
}
function validarEmailj(valor) {
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)) {
        
        return (true);
    } else {
        alert('La dirección de email es incorrecta.');
        return (false);
    }
}


function ValidaDNI(control,campo,vacio){
	var sCad;
	eval( "sCad=" + control + ".value");
	sCad=trim(sCad);

	if ((sCad == null) || (sCad.length == 0)&&(!vacio)){
		eval("" + control + ".select()");
		alert( campo + ' no esta completo ');
		return false;
	}

	if ((sCad.length == 0)&&(vacio)){
		return true;
	}

	if (!ValidaNumero(control,campo,vacio)) return;

	if (sCad.length!=8){
		eval("" + control + ".value=" + sCad + "");	
		eval("" + control + ".select()");
		alert( campo + ' no esta completo ');
		return false;
	}
	return true;
}

function ValidaPAS(control,campo,vacio){
	var sCad;
	eval( "sCad=" + control + ".value");
	sCad=trim(sCad);

	if ((sCad == null) || (sCad.length == 0)&&(!vacio)){
		eval("" + control + ".select()");
		alert( campo + ' no esta completo ');
		return false;
	}

	if ((sCad.length == 0)&&(vacio)){
		return true;
	}

	if (!ValidaNumero(control,campo,vacio)) return;

	if (sCad.length<10) {
		sCad = "0000000000" + sCad;
		sCad = sCad.substr(sCad.length-10);
		eval(control + ".value='"+sCad+"'");
	}
	return true;
}


function NumerosDecimales(sender, intNumDecimal) {
    var strValor = sender.value;
    var intPosPunto = 0;
    var strParteDecimal = "";
    var charCode = (event.charCode) ? event.charCode : ((event.which) ? event.which : event.keyCode);
    if ((charCode < 48 || charCode > 57) && charCode != 46) {
        status = 'Ingresó un valor errado';
        return false;
    }
    else {
        if (charCode == 46) {
            if (strValor.indexOf('.') != -1) {
                status = 'Ingresó un valor errado';
                return false;
            }
        }
        else {
            if ((intPosPunto = strValor.indexOf('.')) != -1) {
                strParteDecimal = strValor.substr((intPosPunto + 1), strValor.length)
                if (strParteDecimal.length == intNumDecimal)
                    return false;
            }
        }
        status = '';
        return true;
    }
}
function calcularTasaInteresMensual(){
    var tasaAnual = parseFloat(document.getElementById('ctl00_ContentPlaceHolder1_txtTasaAnual').value) / 100;
    var tasaMensual = Math.pow((1 + tasaAnual), (30 / 360)) - 1;
    document.getElementById('ctl00_ContentPlaceHolder1_hdfTasaAnual').value = redondear(tasaMensual, 6);
    document.getElementById('ctl00_ContentPlaceHolder1_txtTasaMensual').value = redondear(tasaMensual * 100, 2);
    var deuda = document.getElementById('ctl00_ContentPlaceHolder1_lblCtaInicialFormaPagoCronograma').innerHTML;
    deuda = deuda.replace(',', '');
    var cuotaInicial = deuda * (tasaMensual / (1 - Math.pow((1 + tasaMensual),-24)));
    document.getElementById('ctl00_ContentPlaceHolder1_hdfCuotaInicial').value = redondear(cuotaInicial,2);
}
function CalculaFinanciamiento() {
    var MontoPrf = document.getElementById('ctl00_ContentPlaceHolder1_lblMonto').innerHTML
    MontoPrf = MontoPrf.replace(',', '');
    var MontoIni = document.getElementById('ctl00_ContentPlaceHolder1_txtMontoInicial').value
    MontoIni = MontoIni.replace(',', '');
    MontoIni = MontoIni.replace('_', '');
    MontoIni = MontoIni.replace('__', '');
    MontoIni = MontoIni.replace('__,', '');
    MontoIni = MontoIni.replace('.__', '.0');
    var dbl_MtoSdo = MontoPrf - MontoIni;
    dbl_MtoSdo = redondear(dbl_MtoSdo, 2);
    dbl_MtoSdo = dar_formato(dbl_MtoSdo);
    document.getElementById('ctl00_ContentPlaceHolder1_txtSaldoFinanciar').value = dbl_MtoSdo;
}
function CalculaCuota() {
    var int_NumAno = document.getElementById('ctl00_ContentPlaceHolder1_txtNroAños').value * 12;
    var dbl_TasInt = document.getElementById('ctl00_ContentPlaceHolder1_txtTasaInteres').value;
    dbl_TasInt = dbl_TasInt.replace(',', '');
    var dbl_Fin = document.getElementById('ctl00_ContentPlaceHolder1_txtSaldoFinanciar').value;
    dbl_Fin = dbl_Fin.replace(',', '');
    if (int_NumAno == 0 || dbl_TasInt == 0 || dbl_Fin <= 0) {
        dbl_MtoCuo = 0;
    }
    else {
        dbl_MtoCuo = Calcula_CuotaMensual(dbl_Fin, dbl_TasInt, int_NumAno);
        dbl_MtoCuo = dar_formato(dbl_MtoCuo);
    }
    document.getElementById('ctl00_ContentPlaceHolder1_txtValorCuota').value = dbl_MtoCuo;
    document.getElementById('ctl00_ContentPlaceHolder1_hdfValorCuota').value = dbl_MtoCuo;
}
function CalculaPorcentaje() {
    var MontoPrf = document.getElementById('ctl00_ContentPlaceHolder1_lblMontFinal').innerHTML
    MontoPrf = MontoPrf.replace(',', '').replace(',', '').replace(',', '');
    var MontoIni = document.getElementById('ctl00_ContentPlaceHolder1_txtCuotaInicial').value
    var NuevoInicial = parseFloat(MontoPrf) * (MontoIni / 100);
    var num = redondear(NuevoInicial, 2);
    var Financiamiento = MontoPrf - num;
    var num1 = redondear(Financiamiento, 2);
    num1 = dar_formato(num1);
    document.getElementById('ctl00_ContentPlaceHolder1_txtMontoInicial').value = Number(num).toLocaleString();
    document.getElementById('ctl00_ContentPlaceHolder1_txtSaldoFinanciar').value = num1;
    document.getElementById('ctl00_ContentPlaceHolder1_hdfSaldoFinanciar').value = num1;
}
function redondear(cantidad, decimales) {
    decimales = (!decimales ? 2 : decimales);
    return Math.round(cantidad * Math.pow(10, decimales)) / Math.pow(10, decimales);
}
function dar_formato(num) {
    var cadena = ''; var aux;
    var cont = 1, m, k;
    if (num < 0) aux = 1; else aux = 0;
    num = num.toString();
    var blnIndDot = false;
    if (num.indexOf('.') != -1)
        blnIndDot = true;
    for (m = num.length - 1; m >= 0; m--) {
        cadena = num.charAt(m) + cadena;
        if (!blnIndDot) {
            if (cont % 3 == 0 && m > aux) cadena = ',' + cadena; else cadena = cadena;
            if (cont == 3) cont = 1; else cont++;
        }
        if (num.charAt(m) == '.')
            blnIndDot = false;
    }
    if (cadena.indexOf('.') == -1)
        cadena = cadena + '.00'
    return cadena;
}
function Calcula_CuotaMensual(dbl_MtoSdo, dbl_TasInt, int_NumAno) {
    var dblFactor = Math.pow((dbl_TasInt / 100 + 1), (1 / 12));
    var dblPriFac = Math.pow(dblFactor, int_NumAno);
    var dblSegFac = dblFactor - 1;
    var dblCuaFac = Math.pow(dblFactor, int_NumAno) - 1;
    var dblCuota = dbl_MtoSdo * (dblPriFac * dblSegFac / dblCuaFac);
    return redondear(dblCuota, 2);
}
function Calcula_CuotaMensual_SimuladorCta(dbl_MtoSdo, dbl_TasInt, int_NumAno) {
    var dblCuota = dbl_MtoSdo * ((dbl_TasInt / 100) / (1 - Math.pow((1 + (dbl_TasInt / 100)), -int_NumAno)));
    return redondear(dblCuota, 2);
}